#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>

#include "function.h"

// 抓主要脉络
int main(int argc, char const *argv[])
{
    // 1. 读取文件的名单
    FILE *fp = fopen("name.txt", "r");
    struct node *n = getNames(fp);    

    // 2. 确定要抽取的个数N
    int N;
    printf("请输入你要抽取的幸运儿个数：");
    scanf("%d", &N);

    // 3. 抽取N个随机序号
    int randNum[N]; // 所有抽取到的序号，保持唯一性
    bzero(randNum, sizeof(int)*N);

    for(int i=0; i<N; i++)
    {
        // 3.1 从快到慢显示随机人名
        int num = showName(n);

        // 3.2 确保num是从未出现过的
        randNum[i] = uniq(num, randNum, i, n);
        printf("[%d]%s\n", randNum[i], n->names[randNum[i]]);
    }

    return 0;
}
